링크된 문서
SQLite MCP 서버
SQLite MCP 서버
SQLite MCP 서버는 SQLite를 통해 데이터베이스 상호 작용 및 비즈니스 인텔리전스 기능을 제공하는 Model Context Protocol(MCP) 서버 구현입니다. 이 서버를 통해 SQL 쿼리 실행, 비즈니스 데이터 분석, 비즈니스 인사이트 메모 자동 생성 등이 가능합니다.
주요 기능
SQL 쿼리 실행
- SELECT 쿼리를 통한 데이터 읽기
- INSERT, UPDATE, DELETE 쿼리를 통한 데이터 수정
- 데이터베이스 테이블 생성 및 관리
스키마 관리
- 데이터베이스의 모든 테이블 목록 조회
- 특정 테이블의 스키마 정보 확인
- 열 이름 및 데이터 유형 포함한 상세 정보
비즈니스 인텔리전스
- 데이터 분석을 통한 비즈니스 인사이트 발견
- 발견된 인사이트를 자동으로 메모에 추가
- 지속적으로 업데이트되는 비즈니스 인사이트 메모
리소스
이 서버는 단일 동적 리소스를 제공합니다:
memo://insights
- 분석 중에 발견된 인사이트를 집계하는 지속적으로 업데이트되는 비즈니스 인사이트 메모
- append-insight 도구를 통해 새로운 인사이트가 발견되면 자동으로 업데이트됨
프롬프트
서버는 다음과 같은 데모 프롬프트를 제공합니다:
mcp-demo
데이터베이스 작업을 안내하는 대화형 프롬프트
필수 인자:
- topic: 분석할 비즈니스 도메인
이 프롬프트는 다음과 같은 기능을 제공합니다: - 적절한 데이터베이스 스키마 및 샘플 데이터 생성 - 분석 및 인사이트 생성을 통한 사용자 안내 - 비즈니스 인사이트 메모와 통합
도구
서버는 다음과 같은 6가지 핵심 도구를 제공합니다:
쿼리 도구
read_query
데이터베이스에서 데이터를 읽기 위해 SELECT 쿼리를 실행합니다.
입력 매개변수:
- query (string): 실행할 SELECT SQL 쿼리
반환 값: 객체 배열로 쿼리 결과 반환
write_query
INSERT, UPDATE 또는 DELETE 쿼리를 실행합니다.
입력 매개변수:
- query (string): 실행할 SQL 수정 쿼리
반환 값: { affected_rows: number }
create_table
데이터베이스에 새 테이블을 생성합니다.
입력 매개변수:
- query (string): CREATE TABLE SQL 문
반환 값: 테이블 생성 확인
스키마 도구
list_tables
데이터베이스의 모든 테이블 목록을 가져옵니다.
입력 매개변수: 없음
반환 값: 테이블 이름 배열
describe-table
특정 테이블의 스키마 정보를 확인합니다.
입력 매개변수:
- table_name (string): 설명할 테이블 이름
반환 값: 이름과, 유형을 포함한 열 정의 배열
분석 도구
append_insight
메모 리소스에 새 비즈니스 인사이트를 추가합니다.
입력 매개변수:
- insight (string): 데이터 분석에서 발견된 비즈니스 인사이트
반환 값: 인사이트 추가 확인
특징: memo://insights 리소스 업데이트를 트리거함
구성 방법
Claude Desktop에서 사용하기
uv 사용
{
"mcpServers": {
"sqlite": {
"command": "uv",
"args": [
"--directory",
"parent_of_servers_repo/servers/src/sqlite",
"run",
"mcp-server-sqlite",
"--db-path",
"~/test.db"
]
}
}
}
Docker 사용
{
"mcpServers": {
"sqlite": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-v",
"mcp-test:/mcp",
"mcp/sqlite",
"--db-path",
"/mcp/test.db"
]
}
}
}
VS Code에서 사용하기
VS Code의 사용자 설정(JSON) 파일에 다음을 추가하세요:
uv 사용
{
"mcp": {
"inputs": [
{
"type": "promptString",
"id": "db_path",
"description": "SQLite Database Path",
"default": "${workspaceFolder}/db.sqlite"
}
],
"servers": {
"sqlite": {
"command": "uvx",
"args": [
"mcp-server-sqlite",
"--db-path",
"${input:db_path}"
]
}
}
}
}
Docker 사용
{
"mcp": {
"inputs": [
{
"type": "promptString",
"id": "db_path",
"description": "SQLite Database Path (within container)",
"default": "/mcp/db.sqlite"
}
],
"servers": {
"sqlite": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-v",
"mcp-sqlite:/mcp",
"mcp/sqlite",
"--db-path",
"${input:db_path}"
]
}
}
}
}
사용 사례
- 데이터 분석: SQL 쿼리를 통한 데이터 탐색 및 분석
- 비즈니스 인텔리전스: 데이터에서 유용한 비즈니스 인사이트 추출
- 보고서 생성: 데이터 기반 보고서 및 인사이트 메모 자동 생성
- 데이터베이스 관리: 경량 데이터베이스 테이블 생성 및 관리
- 프로토타이핑: 비즈니스 분석 솔루션의 빠른 프로토타이핑
빌드 방법
Docker:
docker build -t mcp/sqlite .
MCP 인스펙터로 테스트:
uv add "mcp[cli]"
mcp dev src/mcp_server_sqlite/server.py:wrapper
라이센스
이 MCP 서버는 MIT 라이센스에 따라 라이센스가 부여됩니다. 이는 MIT 라이센스의 이용 약관에 따라 소프트웨어를 자유롭게 사용, 수정 및 배포할 수 있음을 의미합니다.